/*
 * Generator.java
 *
 *  created: 1.9.2011
 *  charset: UTF-8
 *  license: MIT (X11) (See LICENSE file for full license)
 */
package cz.mp.k3bg.core;

import java.io.IOException;

/**
 * Základová třída {@code Generator} 
 * pro generování některé části knihy (souboru knihy).
 * 
 * @author Martin Pokorný
 * @version 0.1
 * @see BookFiles
 */
public abstract class Generator {

//    private static final boolean DEBUG = false;
//    private static final Logger logger =
//            LoggerManager.getLogger(Generator.class, DEBUG);
    
    protected BookFiles bookFiles;
            
    protected Metadata metadata;
            
    // -----
    
    /**
     *
     * @param bookFiles
     * @param metadata
     */
    public Generator(BookFiles bookFiles, Metadata metadata) {
        if (bookFiles == null) {
            throw new IllegalArgumentException("bookFiles=null");
        }
        this.bookFiles = bookFiles;
        
        this.metadata = metadata;
    }

    
    public BookFiles getBookFiles() {
        return bookFiles;
    }

    public Metadata getMetadata() {
        return metadata;
    }
    
    
    public abstract void generate() throws IOException ;
    
}   // Generator.java

